﻿<?php

/**
 *
 */
class Mtacgia  extends CI_Model {
    private $matg;
    private $Status_matg;
    private $tentg;
    private $Status_tentg;
    private $ngsinh;
    private $Status_ngsinh;
    private $tieusu;
    private $Status_tieusu;

    public function __construct() {
        parent::__construct();
        $this->load->database();
        $this->Oncreate();
   }

    private function Oncreate() {
        $this->matg = "";
        $this->Status_matg = 0;
        $this->tentg = "";
        $this->Status_tentg = 0;
        $this->ngsinh = "";
        $this->Status_ngsinh = 0;
        $this->tieusu = "";
        $this->Status_tieusu = 0;
    }

    public function set_matg($data) {
        $this->matg = $data;
        $this->Status_matg = 1;
    }

    public function set_tentg($data) {
        $this->tentg = $data;
        $this->Status_tentg = 1;
    }

    public function set_ngsinh($data) {
        $this->ngsinh = $data;
        $this->Status_ngsinh = 1;
    }

    public function set_tieusu($data) {
        $this->tieusu = $data;
        $this->Status_tieusu = 1;
    }

    public function get_matg() {
        return $this->matg;
    }

    public function get_tentg() {
        return $this->tentg;
    }

    public function get_ngsinh() {
        return $this->ngsinh;
    }

    public function get_tieusu() {
        return $this->tieusu;
    }

    /**
     *
     * Get  Oject
     *
     * @strWhere    Mệnh đề where
     * @return     no return. đưa các giá trị vào object gọi hàm()
     *
     */
    public function getObject($strWhere) {
        $this->Oncreate();
        $this->db->where($strWhere, NULL, FALSE);
        $query = $this->db->get("tacgia");
        $ar = $query->row_array();
        if (!empty($ar)) {
            $this->matg = $ar["matg"];
            $this->tentg = $ar["tentg"];
            $this->ngsinh = $ar["ngsinh"];
            $this->tieusu = $ar["tieusu"];
        }
    }

    /**
     *
     * Insert Object into database
     *
     */
    public function Save() {
        $data = array("matg" => $this->matg,"tentg" => $this->tentg,"ngsinh" => $this->ngsinh,"tieusu" => $this->tieusu);
        $this->db->insert("tacgia", $data);
    }

    /**
     *
     * Update Object có các field sử dụng hàm set_()
     *
     * @strWhere=null update tất cả các row trong database
     *
     */
    public function UpdateField($strWhere = NULL) {
        $arr = array();
        if ($this->Status_matg == 1)
            $arr["matg"] = $this->matg;
        if ($this->Status_tentg == 1)
            $arr["tentg"] = $this->tentg;
        if ($this->Status_ngsinh == 1)
            $arr["ngsinh"] = $this->ngsinh;
        if ($this->Status_tieusu == 1)
            $arr["tieusu"] = $this->tieusu;
        if (!empty($strWhere)) {
         $this->db->where($strWhere, NULL, FALSE);
        }
        $this->db->update("tacgia", $arr);
    }

    /**
     *
     * Get list Oject
     *
     * @strFieldName         Các field cần lấy dữ liệu
     * @strWhere             Mệnh đề where
     * @strOrderby           Ex: 'title desc, name asc'
     * @Limit_Number_Row     Số dòng dữ liệu cần lấy ra
     * @Limit_Start_Index    Vị trí bắt đầu lấy dữ liệu
     *     foreach ($t as $value) {
           $ob=(object)($value);
           echo $ob->tacgianame;
           echo $ob->pass;
       }
     * @return               result_object();
     *
     */
    public function getListObject($strFieldName = NULL, $strWhere = NULL, $strOrderby = NULL, $Limit_Number_Row = NULL, $Limit_Start_Index = NULL) {
        if (!is_null($strWhere)) {
            $this->db->where($strWhere, NULL, FALSE);
        }
        if (!is_null($strFieldName)) {
            $this->db->select($strFieldName);
        }
        if (!is_null($strOrderby)) {
            $this->db->order_by($strOrderby);
        }
        if (!is_null($Limit_Number_Row)) {
            if (!is_null($Limit_Start_Index))
                $this->db->limit($Limit_Number_Row, $Limit_Start_Index);
            else {
                $this->db->limit($Limit_Number_Row);
            }
        }
        $query = $this->db->get("tacgia");
        return $query->result_object();
    }

    /**
     *
     * Get list Oject
     *
     * @strWhere    Mệnh đề where. Null sẽ xóa hết dữ liệu của table
     * @return      no
     *
     */
    public function Delete($strWhere = NULL) {
        if (!is_null($strWhere)) {
            $this->db->where($strWhere, NULL, FALSE);
            $this->db->delete("tacgia");
        }        
       else $this->db->empty_table('tacgia');
    }

    /**
     *
     * Lây max giá trị kiểu int của 1 trường dữ liệu
     *
     * @strFieldName    Trường dữ liệu cần lấy max(1 trường duy nhất)
     * @strWhere        Mệnh đề where
     * @return          1 giá trị kiểu string
     *
     */
    public function Max($strFieldName, $strWhere = NULL) {
        if (!is_null($strWhere))
            $this->db->where($strWhere, NULL, FALSE);
        $this->db->select_max($strFieldName);
        $query = $this->db->get('tacgia');
        $ob = $query->row_array();
        return $ob[$strFieldName];
    }
    public function GetByMatg($matg)
    {
        $this->db->select("*");//('MATP,TENTP,HINHANH,NAMXB,TP.MANXB,SOTRANG,CAPTION,GIAGOC,GIABAN,TENNXB');
        $this->db->from('tacgia');
        $this->db->where('matg', $matg);
        $ar= $this->db->get()->row_array();
        if (!empty($ar)) {
            $this->matg = $ar["MATG"];
            $this->tentg = $ar["TENTG"];
            $this->ngsinh = $ar["NGSINH"];
            $this->tieusu = $ar["TIEUSU"];
        }
    }
    public function ToArray(){
        return  $data=array("MATG"=>  $this->matg,"TENTG"=>  $this->tentg,"NGSINH"=>  $this-> ngsinh,"TIEUSU"=>  $this->tieusu);
    }
    

}

?>